package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
	"io"
)

func main() {
	file, err := os.Open("test.txt")
	if err != nil {
		fmt.Println("ERROR:", err)
		return
	}
	defer file.Close()  // 函数返回时关闭文件
	bufReader := bufio.NewReader(file)
	for {
		line, err := bufReader.ReadString('\n')
		// 最后一行会同时返回 line 和 err，所以先打印
		fmt.Println(strings.TrimSpace(line))
		if err != nil {
			if err == io.EOF {
				fmt.Println("读取完毕")
				break
			} else {
				fmt.Println("读取文件错误:", err)
				return
			}
		}
	}
}